using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Net;
using System.Text;

namespace Tool.BaseClass
{
	public class GClass19
	{
		public class GClass20
		{
			public int _Number = 0;

			public int Number
			{
				get
				{
					return this._Number;
				}
				set
				{
					this._Number = value;
				}
			}

			public GClass19.GClass20 method_0(string string_0, string string_1)
			{
				this.Number += string_1.Length - string_0.Length;
				return this;
			}
		}

		public class GClass21
		{
			public enum GEnum0
			{
				[System.ComponentModel.Description("标签错误")]
				NoUrlTag = 1,
				[System.ComponentModel.Description("写入失败")]
				CreateFileFail,
				[System.ComponentModel.Description("转URI失败")]
				ConvertURIFail,
				[System.ComponentModel.Description("进度报告出错")]
				ReportProgressFail,
				[System.ComponentModel.Description("无法获取编码、使用默认编码")]
				EncodingFail,
				[System.ComponentModel.Description("删除文件夹失败")]
				FailedDeleteFolder
			}

			public string Message
			{
				get;
				set;
			}

			public GClass19.GClass21.GEnum0 Category
			{
				get;
				set;
			}
		}

		public class GClass22
		{
			public class GClass23
			{
				public string _Url
				{
					get;
					set;
				}

				public string _BaseHref
				{
					get;
					set;
				}

				public string _FilePath
				{
					get;
					set;
				}

				public string _FileName
				{
					get;
					set;
				}

				public string _PageCodeString
				{
					get;
					set;
				}

				public Encoding _PageCode
				{
					get;
					set;
				}

				public string _PageContent
				{
					get;
					set;
				}

				public string _Cookies
				{
					get;
					set;
				}

				public System.Net.CookieContainer _CookieContainer
				{
					get;
					set;
				}

				public string _HtmlLink
				{
					get;
					set;
				}

				public string _HtmlScript
				{
					get;
					set;
				}

				public string _HtmlBackground
				{
					get;
					set;
				}

				public string _HtmlPicture
				{
					get;
					set;
				}

				public string _HtmlFlash
				{
					get;
					set;
				}
			}

			public class GClass24
			{
				public string CatchError
				{
					get;
					set;
				}

				public int DownloadNumberFirst
				{
					get;
					set;
				}

				public int DownloadNumberSecond
				{
					get;
					set;
				}

				public int DownloadNumberTotal
				{
					get;
					set;
				}

				public Hashtable hashTable
				{
					get;
					set;
				}

				public Hashtable hashTableFailFirst
				{
					get;
					set;
				}

				public Hashtable hashTableFailSecond
				{
					get;
					set;
				}

				public Hashtable hashTableHasLoad
				{
					get;
					set;
				}

				public Hashtable hashTableLose
				{
					get;
					set;
				}

				public Hashtable hashTableNoExists
				{
					get;
					set;
				}

				public List<GClass19.GClass21> log
				{
					get;
					set;
				}

				public GClass24()
				{
					this.CatchError = "";
					this.DownloadNumberTotal = 0;
					this.DownloadNumberSecond = 0;
					this.DownloadNumberFirst = 0;
					this.hashTable = Hashtable.Synchronized(new Hashtable());
					this.hashTableFailFirst = Hashtable.Synchronized(new Hashtable());
					this.hashTableFailSecond = Hashtable.Synchronized(new Hashtable());
					this.hashTableHasLoad = Hashtable.Synchronized(new Hashtable());
					this.hashTableLose = Hashtable.Synchronized(new Hashtable());
					this.hashTableNoExists = Hashtable.Synchronized(new Hashtable());
					this.log = new List<GClass19.GClass21>();
				}
			}

			public Action<GClass19.GClass22, string> ReportMessage
			{
				get;
				set;
			}

			public Action<GClass19.GClass22, string, int> ReportMessageProgress
			{
				get;
				set;
			}

			public Action<GClass19.GClass22, string, int, GClass19.GClass25.GEnum1> ReportMessageProgressAction
			{
				get;
				set;
			}

			public Action<string> MsgToolTip
			{
				get;
				set;
			}

			public string UserAgent
			{
				get;
				set;
			}

			public string _rootWebSite
			{
				get;
				set;
			}

			public int _Timeout
			{
				get;
				set;
			}

			public string _DirectoryCss
			{
				get;
				set;
			}

			public string _DirectoryJs
			{
				get;
				set;
			}

			public string _DirectoryBackground
			{
				get;
				set;
			}

			public string _DirectoryFonts
			{
				get;
				set;
			}

			public string _DirectoryPicture
			{
				get;
				set;
			}

			public string _DirectoryFlash
			{
				get;
				set;
			}

			public string _CssBackground
			{
				get;
				set;
			}

			public string _CssFonts
			{
				get;
				set;
			}

			public List<GClass19.GClass22.GClass23> _Lists
			{
				get;
				set;
			}

			public GClass19.GClass22.GClass24 Collections
			{
				get;
				set;
			}

			public GClass22()
			{
				this.Collections = new GClass19.GClass22.GClass24();
			}
		}

		public class GClass25
		{
			public enum GEnum1
			{
				Begin = 1,
				Error,
				Message,
				MessageOnly,
				Finished
			}

			public GClass19.GClass25.GEnum1 Action
			{
				get;
				set;
			}

			public string Information
			{
				get;
				set;
			}
		}
	}
}
